/****************************************************************************
**
** CharacterCreate.h
**
** Copyright (C) August 2014 Hotride
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
**
*****************************************************************************
*/
//---------------------------------------------------------------------------
#ifndef CharacterCreateH
#define CharacterCreateH
//---------------------------------------------------------------------------
struct CC_HAIR_STYLE
{
	WORD GumpID;
	WORD GraphicID;
	string Name;
};
//---------------------------------------------------------------------------
class TCharacterCreate
{
private:
	bool m_Sex; //false - male; true - female
	
	BYTE m_SelectFace;
	BYTE m_SelectColor;
	
	BYTE m_HairStyle;
	BYTE m_FacialHairStyle;
	
	WORD m_SkinTone;
	WORD m_ShirtColor;
	WORD m_PantsColor;
	WORD m_HairColor;
	WORD m_FacialHairColor;

	int m_NamePos;
	string m_Name;
	
	static CC_HAIR_STYLE m_MaleHairStyleTable[10];
	static CC_HAIR_STYLE m_FemaleHairStyleTable[11];
	static CC_HAIR_STYLE m_FacialHairStyleTable[8];
public:
	TCharacterCreate();
	~TCharacterCreate() {}

	void Clear();

	SETGET(bool, Sex)
	SETGET(BYTE, HairStyle)
	SETGET(BYTE, FacialHairStyle)
	SETGET(WORD, SkinTone)
	SETGET(WORD, ShirtColor)
	SETGET(WORD, PantsColor)
	SETGET(WORD, HairColor)
	SETGET(WORD, FacialHairColor)
	SETGET(string, Name)
	SETGET(BYTE, SelectFace)
	SETGET(BYTE, SelectColor)
	SETGET(int, NamePos)
	
	void InsertName(char *c);
	
	CC_HAIR_STYLE GetHair(BYTE pos) const;
	CC_HAIR_STYLE GetFacialHair(BYTE pos) const;
};
//---------------------------------------------------------------------------
#endif